home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1996 March / Amiga-CD 1996 #3.iso / amiga_technologies / include_i / intuition / preferences.i < prev    next >
Text File  |  1996-01-19  |  10KB  |  302 lines

  1.     IFND  INTUITION_PREFERENCES_I
  2. INTUITION_PREFERENCES_I    SET  1
  3. **
  4. **    $VER: preferences.i 38.4 (16.9.92)
  5. **    Includes Release 40.16
  6. **
  7. **    Structure definition for old-style preferences
  8. **
  9. **    (C) Copyright 1985-1995 ESCOM AG
  10. **        All Rights Reserved
  11. **
  12.  
  13.     IFND EXEC_TYPES_I
  14.     INCLUDE "exec/types.i"
  15.     ENDC
  16.  
  17.     IFND    DEVICES_TIMER_I
  18.     INCLUDE    "devices/timer.i"
  19.     ENDC
  20.  
  21. ; ========================================================================
  22. ; === Preferences ========================================================
  23. ; ========================================================================
  24.  
  25. ; these are the definitions for the printer configurations
  26. FILENAME_SIZE EQU    30    ; Filename size
  27. DEVNAME_SIZE  EQU    16    ; Device-name size
  28.  
  29. POINTERSIZE    EQU    (1+16+1)*2    ; Size of Pointer data buffer
  30.  
  31. ; These defines are for the default font size.    These actually describe the
  32. ; height of the defaults fonts.  The default font type is the topaz
  33. ; font, which is a fixed width font that can be used in either
  34. ; eighty-column or sixty-column mode.  The Preferences structure reflects
  35. ; which is currently selected by the value found in the variable FontSize,
  36. ; which may have either of the values defined below.  These values actually
  37. ; are used to select the height of the default font.  By changing the
  38. ; height, the resolution of the font changes as well.
  39. TOPAZ_EIGHTY    EQU    8
  40. TOPAZ_SIXTY    EQU    9
  41.  
  42. ; ------------------------------------------------------------------------
  43.  
  44. * Note:  Starting with V36, and continuing with each new version of
  45. * Intuition, an increasing number of fields of struct Preferences
  46. * are ignored by SetPrefs().  (Some fields are obeyed only at the
  47. * initial SetPrefs(), which comes from the devs:system-configuration
  48. * file).  Elements are generally superseded as new hardware or software
  49. * features demand more information than fits in struct Preferences.
  50. * Parts of struct Preferences must be ignored so that applications
  51. * calling GetPrefs(), modifying some other part of struct Preferences,
  52. * then calling SetPrefs(), don't end up truncating the extended
  53. * data.
  54. *
  55. * Consult the autodocs for SetPrefs() for further information as
  56. * to which fields are not always respected.
  57.  
  58.  STRUCTURE Preferences,0
  59.  
  60.     ; the default font height
  61.     BYTE pf_FontHeight        ; height for system default font
  62.  
  63.     ; constant describing what's hooked up to the port
  64.     BYTE pf_PrinterPort    ; printer port connection
  65.  
  66.     ; the baud rate of the port
  67.     WORD pf_BaudRate        ; baud rate for the serial port
  68.  
  69.     ; various timing rates
  70.     STRUCT pf_KeyRptSpeed,TV_SIZE ; repeat speed for keyboard
  71.     STRUCT pf_KeyRptDelay,TV_SIZE ; Delay before keys repeat
  72.     STRUCT pf_DoubleClick,TV_SIZE ; Interval allowed between clicks
  73.  
  74.     ; Intuition Pointer data
  75.     STRUCT pf_PointerMatrix,POINTERSIZE*2 ; Definition of pointer sprite
  76.     BYTE pf_XOffset        ; X-Offset for active 'bit'
  77.     BYTE pf_YOffset        ; Y-Offset for active 'bit'
  78.     WORD pf_color17        ;********************************
  79.     WORD pf_color18        ; Colours for sprite pointer
  80.     WORD pf_color19        ;********************************
  81.     WORD pf_PointerTicks    ; Sensitivity of the pointer
  82.  
  83.     ; Workbench Screen colors
  84.     WORD pf_color0        ;********************************
  85.     WORD pf_color1        ;  Standard default colours
  86.     WORD pf_color2        ;   Used in the Workbench
  87.     WORD pf_color3        ;********************************
  88.  
  89.     ; positioning data for the Intuition View
  90.     BYTE pf_ViewXOffset        ; Offset for top lefthand corner
  91.     BYTE pf_ViewYOffset        ; X and Y dimensions
  92.     WORD pf_ViewInitX        ; View initial offsets at startup
  93.     WORD pf_ViewInitY        ; View initial offsets at startup
  94.  
  95.     BOOL EnableCLI        ; CLI availability switch
  96.  
  97.     ; printer configurations
  98.     WORD pf_PrinterType        ; printer type
  99.     STRUCT pf_PrinterFilename,FILENAME_SIZE ; file for printer
  100.  
  101.     ; print format and quality configurations
  102.     WORD pf_PrintPitch            ; print pitch
  103.     WORD pf_PrintQuality    ; print quality
  104.     WORD pf_PrintSpacing    ; number of lines per inch
  105.     WORD pf_PrintLeftMargin    ; left margin in characters
  106.     WORD pf_PrintRightMargin    ; right margin in characters
  107.     WORD pf_PrintImage        ; positive or negative
  108.     WORD pf_PrintAspect        ; horizontal or vertical
  109.     WORD pf_PrintShade        ; b&w, half-tone, or color
  110.     WORD pf_PrintThreshold    ; darkness ctrl for b/w dumps
  111.  
  112.  
  113.     ; print paper description
  114.     WORD pf_PaperSize        ; paper size
  115.     WORD pf_PaperLength        ; paper length in lines
  116.     WORD pf_PaperType        ; continuous or single sheet
  117.  
  118.     ; Serial device settings: These are six nibble-fields in three bytes
  119.     ; (these look a little strange so the defaults will map out to zero)
  120.     BYTE pf_SerRWBits        ; upper nibble = (8-number of read bits)
  121.                     ; lower nibble = (8-number of write bits)
  122.     BYTE pf_SerStopBuf        ; upper nibble = (number of stop bits - 1)
  123.                 ; lower nibble = (table value for BufSize)
  124.     BYTE pf_SerParShk        ; upper nibble = (value for Parity setting)
  125.                 ; lower nibble = (value for Handshake mode)
  126.  
  127.     BYTE pf_LaceWB        ; if workbench is to be interlaced
  128.  
  129.     STRUCT pf_Pad,12
  130.  
  131.     STRUCT pf_PrtDevName,DEVNAME_SIZE    ; device used by printer.device
  132.                     ; (omit the ".device")
  133.     UBYTE pf_DefaultPrtUnit        ; default unit opened by printer.device
  134.     UBYTE pf_DefaultSerUnit        ; default serial unit
  135.  
  136.     BYTE    pf_RowSizeChange    ;
  137.     BYTE    pf_ColumnSizeChange ;
  138.  
  139.     UWORD   pf_PrintFlags    ; user preference flags
  140.     WORD    pf_PrintMaxWidth    ; max width of printed picture in 10ths/inch
  141.     UWORD   pf_PrintMaxHeight    ; max height of printed picture in 10ths/inch
  142.     UBYTE   pf_PrintDensity    ; print density
  143.     UBYTE   pf_PrintXOffset    ; offset of printed picture in 10ths/inch
  144.  
  145.     UWORD   pf_wb_Width        ; override default workbench width
  146.     UWORD   pf_wb_Height    ; override default workbench height
  147.     UBYTE   pf_wb_Depth        ; override default workbench depth
  148.  
  149.     UBYTE   pf_ext_size        ; extension information -- do not touch!
  150.                 ; extension size in blocks of 64 bytes
  151.  
  152.     LABEL pf_SIZEOF
  153.  
  154.  
  155. ; === Preferences definitions ===========================================
  156.  
  157. ; Workbench Interlace (use one bit)
  158. LACEWB        EQU    $01
  159.  
  160.  
  161. ; Enable_CLI
  162. SCREEN_DRAG    EQU    $4000
  163. MOUSE_ACCEL    EQU    $8000
  164.  
  165. ; PrinterPort
  166. PARALLEL_PRINTER EQU    $00
  167. SERIAL_PRINTER    EQU    $01
  168.  
  169. ; BaudRate
  170. BAUD_110    EQU    $00
  171. BAUD_300    EQU    $01
  172. BAUD_1200    EQU    $02
  173. BAUD_2400    EQU    $03
  174. BAUD_4800    EQU    $04
  175. BAUD_9600    EQU    $05
  176. BAUD_19200    EQU    $06
  177. BAUD_MIDI    EQU    $07
  178.  
  179. ; PaperType
  180. FANFOLD    EQU    $00
  181. SINGLE        EQU    $80
  182.  
  183. ; PrintPitch
  184. PICA        EQU    $000
  185. ELITE        EQU    $400
  186. FINE        EQU    $800
  187.  
  188. ; PrintQuality
  189. DRAFT        EQU    $000
  190. LETTER        EQU    $100
  191.  
  192. ; PrintSpacing
  193. SIX_LPI        EQU    $000
  194. EIGHT_LPI    EQU    $200
  195.  
  196. ; Print Image
  197. IMAGE_POSITIVE    EQU    $00
  198. IMAGE_NEGATIVE    EQU    $01
  199.  
  200. ; PrintAspect
  201. ASPECT_HORIZ    EQU    $00
  202. ASPECT_VERT    EQU    $01
  203.  
  204. ; PrintShade
  205. SHADE_BW    EQU    $00
  206. SHADE_GREYSCALE    EQU    $01
  207. SHADE_COLOR    EQU    $02
  208.  
  209. ; PaperSize (all paper sizes have a zero in the lowest nybble)
  210. US_LETTER    EQU    $00
  211. US_LEGAL    EQU    $10
  212. N_TRACTOR    EQU    $20
  213. W_TRACTOR    EQU    $30
  214. CUSTOM        EQU    $40
  215.  
  216. ; New PaperSizes for V36:
  217. EURO_A0    EQU    $50           ; European size A0: 841 x 1189
  218. EURO_A1    EQU    $60           ; European size A1: 594 x 841
  219. EURO_A2    EQU    $70           ; European size A2: 420 x 594
  220. EURO_A3    EQU    $80           ; European size A3: 297 x 420
  221. EURO_A4    EQU    $90           ; European size A4: 210 x 297
  222. EURO_A5    EQU    $A0           ; European size A5: 148 x 210
  223. EURO_A6    EQU    $B0           ; European size A6: 105 x 148
  224. EURO_A7    EQU    $C0           ; European size A7: 74 x 105
  225. EURO_A8    EQU    $D0           ; European size A8: 52 x 74
  226.  
  227. ; PrinterType
  228. CUSTOM_NAME    EQU    $00
  229. ALPHA_P_101    EQU    $01
  230. BROTHER_15XL    EQU    $02
  231. CBM_MPS1000    EQU    $03
  232. DIAB_630    EQU    $04
  233. DIAB_ADV_D25    EQU    $05
  234. DIAB_C_150    EQU    $06
  235. EPSON        EQU    $07
  236. EPSON_JX_80    EQU    $08
  237. OKIMATE_20    EQU    $09
  238. QUME_LP_20    EQU    $0A
  239. ; new printer entries, 3 October 1985
  240. HP_LASERJET    EQU    $0B
  241. HP_LASERJET_PLUS EQU    $0C
  242.  
  243.  
  244. ; Serial Input Buffer Sizes
  245. SBUF_512    EQU    $00
  246. SBUF_1024    EQU    $01
  247. SBUF_2048    EQU    $02
  248. SBUF_4096    EQU    $03
  249. SBUF_8000    EQU    $04
  250. SBUF_16000    EQU    $05
  251.  
  252. ; Serial Bit Masks
  253. SREAD_BITS    EQU    $F0    ; pf_SerRWBits
  254. SWRITE_BITS    EQU    $0F
  255.  
  256. SSTOP_BITS    EQU    $F0    ; pf_SerStopBuf
  257. SBUFSIZE_BITS    EQU    $0F
  258.  
  259. SPARITY_BITS    EQU    $F0    ; pf_SerParShk
  260. SHSHAKE_BITS    EQU    $0F
  261.  
  262. ; Serial Parity (high nibble, but here shifted right, as by C-macro SPARNUM)
  263. SPARITY_NONE    EQU    $00
  264. SPARITY_EVEN    EQU    $01
  265. SPARITY_ODD    EQU    $02
  266. ; New parity definitions for V36:
  267. SPARITY_MARK    EQU    $03
  268. SPARITY_SPACE    EQU    $04
  269.  
  270. ; Serial Handshake Mode (low nibble, mask by SHSHAKE_BITS)
  271. SHSHAKE_XON    EQU    $00
  272. SHSHAKE_RTS    EQU    $01
  273. SHSHAKE_NONE    EQU    $02
  274.  
  275. ; new defines for PrintFlags
  276. CORRECT_RED        EQU $0001     ; color correct red shades
  277. CORRECT_GREEN        EQU $0002     ; color correct green shades
  278. CORRECT_BLUE        EQU $0004     ; color correct blue shades
  279.  
  280. CENTER_IMAGE        EQU $0008       ; center image on paper
  281.  
  282. IGNORE_DIMENSIONS   EQU $0000     ; ignore max width/height settings
  283. BOUNDED_DIMENSIONS  EQU $0010     ; use max width/height as boundaries
  284. ABSOLUTE_DIMENSIONS EQU $0020     ; use max width/height as absolutes
  285. PIXEL_DIMENSIONS    EQU $0040     ; use max width/height as prt pixels
  286. MULTIPLY_DIMENSIONS EQU $0080     ; use max width/height as multipliers
  287.  
  288. INTEGER_SCALING     EQU $0100     ; force integer scaling
  289.  
  290. ORDERED_DITHERING   EQU $0000     ; ordered dithering
  291. HALFTONE_DITHERING  EQU $0200     ; halftone dithering
  292. FLOYD_DITHERING     EQU $0400     ; floyd-steinberg dithering
  293.  
  294. ANTI_ALIAS        EQU $0800     ; anti-alias image
  295. GREY_SCALE2        EQU $1000     ; for use with hi-res monitor
  296.  
  297. CORRECT_RGB_MASK    EQU (CORRECT_RED+CORRECT_GREEN+CORRECT_BLUE)
  298. DIMENSIONS_MASK     EQU (BOUNDED_DIMENSIONS+ABSOLUTE_DIMENSIONS+PIXEL_DIMENSIONS+MULTIPLY_DIMENSIONS)
  299. DITHERING_MASK        EQU (HALFTONE_DITHERING+FLOYD_DITHERING)
  300.  
  301.     ENDC
  302.